<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <!-- コンテナをロード -->
  <script type="text/javascript" src="../src/container.js" ></script>
</head>
<body>
  <div id="stdout"></div>
  <script type="text/javascript">
var stdout = document.getElementById( "stdout" );

// クラス
function Kitten( name ) { this.name = name; }
Kitten.prototype = {
   getName: function () { return this.name; },
   init: function() {
       stdout.innerHTML += this.name + " is initialized.<br/>";
   },
   dest: function() {
       stdout.innerHTML += this.name + " is destroyed.<br/>";
   }
};

var c = new container.Container( function( binder ) {

  // 初期化関数・破棄関数の設定
  binder.bind( Kitten ).to( "mii" ).inject( {
    "name": "mii"
  }).initialize( function( obj, container ) {
      // コンポーネントを初期化する処理
      obj.init();
  }).destroy( function( obj, container ) {
      // コンポーネントを破棄する処理
      obj.dest();
  });

  // 関数名で指定することも可能
  binder.bind( Kitten ).to( "tora" ).inject( {
    "name": "tora"
  }).initialize( "init" ).destroy( "dest" );
});

var mii = c.get( "mii" );
stdout.innerHTML += mii.getName() + "<br/>"; // mii
var tora = c.get( "tora" );
stdout.innerHTML += tora.getName() + "<br/>"; // tora

c.destroy(); // コンテナを破棄 // 破棄メソッドが実行される。

  </script>
</body>
</html>